﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;

namespace DauGiaApp.Models
{
    [MetadataType(typeof(TaiKhoanMetaData))]
    partial class TaiKhoan
    {

        public List<MenuAccount> LayMenu()
        {
            List<MenuAccount> lsmn = new List<MenuAccount>();
            switch (MaLoaiTaiKhoan)
            {
                case 1: // admin  
                    lsmn.Add(new MenuAccount("Quản Lý", "Index", "Admin"));
                    break;
                case 2: // manager
                    lsmn.Add(new MenuAccount("Thống kê báo cáo", "BaoCaoThongKe", "Manager"));
                    lsmn.Add(new MenuAccount("Quản lý sản phẩm", "ProductManage", "Manager"));
                    lsmn.Add(new MenuAccount("Quản lý comment", "CommentManage", "Manager"));
                    lsmn.Add(new MenuAccount("Quản lý loại sản phẩm", "ProductTypeManager", "Manager"));

                    break;
                case 3: // user
                    lsmn.Add(new MenuAccount("Đăng sản phẩm", "DangSanPham", "SanPham"));
                    lsmn.Add(new MenuAccount("Xem thông tin", "ThongTinTaiKhoan", "TaiKhoan"));
                    lsmn.Add(new MenuAccount("Lịch sử đấu giá", "QuanLySanPham", "Manager"));
                    lsmn.Add(new MenuAccount("Đấu giá thành công", "DauGiaThanhCong", "DauGia"));
                    lsmn.Add(new MenuAccount("Đang đấu giá", "DangDauGia", "TaiKhoan"));
                    break;
            }
            return lsmn;
        }
    }

    public class MenuAccount
    {
        public MenuAccount(string ten, string act, string con)
        {
            tenMenu = ten;
            action = act;
            controller = con;
        }
        public string tenMenu;
        public string action;
        public string controller;
    }
    public class TaiKhoanMetaData
    {
        [Required(ErrorMessage = "Tên tài khoản không được để trống")]
        public string TenTaiKhoan { get; set; }

        [DataType(DataType.EmailAddress, ErrorMessage = "Email không đúng")]
        [Required(ErrorMessage = "Nhập vào email của bạn")]
        public string Email { get; set; }

        [Required(ErrorMessage = "Mật khẩu không được để trống")]
        [DataType(DataType.Password)]
        public string MatKhau { get; set; }

    }
}